package com.zhangxu.microservice.system.dao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zhangxu.microservice.system.dao.enums.ResourceTypeEnum;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 权限资源实体
 */
@Data
@TableName("`sys_resource`")
public class ResourceDO {

    /**
     * 主键 ID，自增
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 系统编码（如 employee, auth, finance）
     */
    private Long appId;

    /**
     * 资源编码
     */
    private String code;

    /**
     * 父级资源编码
     */
    private String parentCode;

    /**
     * 资源名称
     */
    private String name;

    /**
     * 资源类型：DIRECTORY/MENU/BUTTON/API
     */
    private ResourceTypeEnum type;

    /**
     * 前端路由路径或接口 URL
     */
    private String path;

    /**
     * 请求方法，仅对API有效，如GET/POST/PUT/DELETE
     */
    private String method;

    /**
     * 前端组件路径（菜单使用）
     */
    private String component;

    /**
     * 创建时间（自动填充）
     */
    private LocalDateTime createTime;

    /**
     * 更新时间（自动填充）
     */
    private LocalDateTime updateTime;

    /**
     * 删除时间
     */
    private Long deleteTime;
}